Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Karlsruhe Challenger Wimbledon - London U.S. Open - New York Brest Challenger Oeiras 1 Challenger Australian Open - Melbourne Tenerife 1 Challenger Manama Challenger Open Sud de France - Montpellier Tenerife 3 Challenger Movistar Chile Open - Santiago Millennium Estoril Open - Estoril Murcia Challenger Girona Challenger Oeiras 3 Challenger Francavilla Challenger French Open - Paris Oeiras 4 Challenger Terra Wortmann Open - Halle Olympics - Paris Mallorca Championships - Mallorca Hamburg Open - Hamburg Generali Open - Kitzbuhel National Bank Open - Montreal Western & Southern Open - Cincinnati U.S. Open - New York Davis Cup, Group B, Valencia Swiss Indoors Basel - Basel Valencia Challenger Campinas Challenger Shanghai Rolex Masters - Shanghai Curitiba Challenger Rolex Paris Masters - Paris Guayaquil Challenger Moselle Open - Metz Lima 2 Challenger ABN AMRO Open - Rotterdam Hong Kong Tennis Open - Hong Kong Argentina Open - Buenos Aires Oeiras 2 Challenger Miami Open - Miami Internazionali BNL d'Italia - Rome Estoril Challenger Mutua Madrid Open - Madrid Tiriac Open - Bucharest Oeiras 5 Challenger Hamburg Open - Hamburg French Open - Paris Mallorca Championships - Mallorca Wimbledon - London Porto Challenger Cincinnati Open - Cincinnati U.S. Open - New York Davis Cup, World Group, Q2, ESP-DEN 3-2 Shanghai Rolex Masters - Shanghai Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Usa F13 Spain F22 Spain F1 Spain F5 Spain F18 Spain F25 Spain F26 Spain F30 Spain F13 Spain F14 Spain F16 France F11 Spain F20 Spain F21 Spain F22 Spain F23 Spain F24 Spain F26 Spain F28 Spain F30 Spain F31 Morocco F4 France F2 Spain F1 Spain F3 Spain F4 Spain F5 Spain F6 Croatia F3 Croatia F4 Spain F7 Spain F9 Tunisia F17 Spain F13 Bulgaria F2 Bulgaria F3 Bulgaria F4 France F11 France F12 Spain F20 Spain F21 Spain F22 Spain F23 Spain F27 Spain F28 Spain F35 Morocco F8 Morocco F9 Tunisia F33 Usa F15 Spain F1 (Manacor) Spain F2 (Manacor) Spain F3 (Paguera) Spain F4 (Paguera) Tunisia F8 (Hammamet) Spain F7 (Javea) Spain F8 (Reus) Tunisia F15 (Hammamet) Tunisia F16 (Hammamet) Spain F12 (Lleida) Spain F13 (Valldoreix) Italy F15 (Reggio Emilia) Spain F16 (Huelva) Spain F18 (Palma del Rio) Spain F20 (Getxo) Spain F21 (Gandia) Spain F22 (Denia) Spain F26 (Santander) Spain F29 (Sevilla) Spain F30 (Madrid) Spain F31 (Sabadell) Brazil F22 Egypt F3 (Sharm El Sheikh) Egypt F4 (Sharm El Sheikh) Brazil F31 Brazil F32 Brazil F33 Spain F6 (Xabia) Brazil F1 Colombia F1 Colombia F2 USA F7 Brazil F26 Brazil F33 Spain F14 (Huelva) Spain F32 Spain F29 Spain F8 M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo Tunisia F16 Spain F5 (Murcia) Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas Roma Open Challenger - Rome San Remo Tennis Cup - San Remo Spain F32 Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Levene Gouldin & Thompson Tennis Challenger - Binghamton Sacramento Challenger - Sacramento National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Challenger Britania Zavaleta - Puebla Tunis Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Recife Challenger Prague Challenger Bordeaux Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Kosice Challenger Marburg Challenger Arad Challenger Timisoara Challenger Tampere Challenger Campinas Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Braunschweig Challenger Campinas Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Aix En Provence Challenger Furth Challenger Blois Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Bucaramanga Challenger Dallas Challenger Santo Domingo Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Braunschweig Challenger Aptos Challenger Vancouver Challenger Como Challenger Meknes Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Milan Challenger Braunschweig Challenger Cordenons Challenger Meknes Challenger Lima Challenger Barletta Challenger Shymkent Challenger Lisbon Challenger Braunschweig Challenger Scheveningen Challenger Cortina Challenger Segovia Challenger Floridablanca Challenger Portoroz Challenger Santo Domingo Challenger Cordenons Challenger Como Challenger Seville Challenger Rome Challenger Campinas Challenger Buenos Aires Challenger Ismaning Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Bangalore Challenger Bangkok Challenger Rennes Challenger Chennai Challenger Santiago Challenger Le Gosier Challenger Marbella Challenger Alicante Challenger Barletta Challenger Tunis Challenger Ostrava Challenger Braga Challenger L'Aquila Challenger Milan Challenger Recanati Challenger Bastad Challenger Prague Challenger Liberec Challenger Pullach Challenger Como Challenger Seville Challenger Banja Luka Challenger Biella Challenger Sibiu Challenger Tiburon Challenger Monterrey Challenger Campinas Challenger Santo Domingo Challenger Barcelona Challenger Liuzhou Challenger Guayaquil Challenger Mouilleron-Le-Captif Challenger Montevideo Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Burnie Challenger Launceston Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Santiago Challenger Marbella Challenger Alicante Challenger Sarasota Challenger Francavilla Challenger Braga Challenger Lisbon Challenger Poznan Challenger Lyon Challenger Blois Challenger Nur-Sultan Challenger Amersfoort Challenger Tampere Challenger Sopot Challenger Augsburg Challenger Mallorca Challenger Seville Challenger Sibiu Challenger Florence Challenger Buenos Aires Challenger Campinas Challenger Barcelona Challenger Santo Domingo Challenger Hamburg Challenger Noumea Challenger Ann Arbor Challenger Prostejov Challenger Alicante Challenger Lisbon Challenger Marbella Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger Zagreb Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Luedenscheid Challenger Verona Challenger Seville Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Aix En Provence Challenger Forli 6 Challenger Perugia Challenger Lima Challenger Seville Challenger Rio De Janeiro Challenger Las Vegas Challenger Montevideo Challenger Waco Challenger Puerto Vallarta Challenger Prague 1 Challenger Prague 2 Challenger Heilbronn Challenger Lyon Challenger Blois Challenger Bordeaux Challenger Zagreb Challenger Milan Challenger Tenerife 1 Challenger M25 Quinta Do Lago Abierto Internacional Varonil Ciudad de Cancun - Cancun M25 Figueira da Foz M25 Reus M25 Mataro Semgroup Challenger - Tulsa Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven 2007 Knoxville Challenger - Knoxville Estoril Open - Estoril M25 Porto Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco M25 Vila Real de Santo Antonio BB&T Atlanta Open - Atlanta M25 Quinta do Lago Valencia Open - Valencia Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg Generali Open - Kitzbuhel M25 Vale do Lobo Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Abierto Mexicano - Los Cabos Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril German Tennis Championships - Hamburg European Open - Antwerp Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Mallorca Championships - Mallorca Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel St. Petersburg Open - St. Petersburg Sofia Open - Sofia Stockholm Open - Stockholm Kremlin Cup - Moscow Emilia-Romagna Open - Parma Sydney Tennis Classic - Sydney Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Naples Challenger - Naples cinch Championships - London Viking International - Eastbourne Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel San Diego Open - San Diego Korea Open - Seoul Tennis Napoli Open - Naples Tata Open Maharashtra - Pune Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Chengdu Open - Chengdu Rio Open - Rio de Janeiro Sao Paulo Challenger Kenitra Challenger Porto Alegre Challenger Guayaquil Challenger Kazan Challenger Blois Challenger Todi Challenger Manerbio Challenger Irving Challenger Trnava Challenger Le Gosier Challenger III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Montevideo Challenger Nielsen USTA Pro Tennis Championship - Winnetka Genova Challenger Oldum Brown Vancouver Open - Vancouver GHI Bronx Tennis Classic - Bronx St. Remy Challenger Jonkoping Challenger Ford Tennis Championships - Louisville Salinas Challenger Bucaramanga Challenger Milan Challenger Campinas Challenger M25 Vila Real de Santo Antonio Mallorca Challenger Santa Fe 2 Challenger Brasov Challenger Barletta Challenger Murcia Challenger Tunis Challenger Braunschweig Challenger Porto Challenger Seville Challenger Belem Challenger Francavilla Challenger Sao Paulo Challenger Sony Ericsson Open - Miami Bergamo Challenger Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Poznan Challenger Phoenix Challenger Seville Challenger Genova Challenger BNP Paribas Open - Indian Wells Como Challenger Montevideo Challenger Montevideo Challenger Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Aix En Provence Challenger Internazionali BNL d'Italia - Rome Western & Southern Open - New York Oeiras 3 Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Madrid Challenger Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Girona Challenger Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid National Bank Open - Montreal Western & Southern Open - Cincinnati Rolex Paris Masters - Paris Pune Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Lisbon Challenger Pozoblanco Challenger Braga Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Toronto Ortisei Challenger Cherbourg Challenger Forli 4 Challenger Rome Challenger Bordeaux Challenger Bordeaux Challenger Lima Challenger Braunschweig Challenger Newport Beach Challenger Sao Leopoldo Challenger Canberra Challenger U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Monterrey Challenger U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Phoenix Challenger Australian Open - Melbourne French Open - Paris Montechiarugolo - Parma Challenger Las Franquesas del Valles Challenger U.S. Open - New York Girona Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Oeiras 4 Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Lisbon Challenger Buenos Aires Challenger Aix En Provence Challenger Forli 5 Challenger Braunschweig Challenger Luedenscheid Challenger Lisbon Challenger Bad Waltersdorf Challenger Roseto Degli Abruzzi 2 Challenger Campinas Challenger Seville Challenger Alicante Challenger Madrid Challenger Lyon Challenger Oeiras 1 Challenger Lima 2 Challenger Valencia Challenger Maspalomas Challenger Verona Challenger Porto Challenger Todi Challenger Sibiu Challenger Oeiras 4 Challenger Valencia Challenger Trieste Challenger Braga Challenger Malaga Challenger Szczecin Challenger Olbia Challenger Oeiras 2 Challenger Tenerife 2 Challenger Porto 2 Challenger Genova Challenger St. Petersburg Open - St. Petersburg US Men's Clay Court Championship - Houston Bad Waltersdorf Challenger Braga Challenger Lyon Challenger Barcelona Open Banc Sabadell - Barcelona Great Ocean Road Open - Melbourne ASB Classic - Auckland Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Winston-Salem Open - Winston-Salem Rio Open - Rio de Janeiro Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Anytech365 Andalucia Open - Marbella Davis Cup, Group I, 1R, POR-ISR 5-0 Bucharest Open - Bucharest Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Open Parc - Lyon Nordea Open - Bastad Cordoba Open - Cordoba Argentina Open - Buenos Aires China Open - Beijing Movistar Chile Open - Santiago BNP Paribas Nordic Open - Stockholm Terra Wortmann Open - Halle Generali Open - Kitzbuhel Chile Dove Men+Care Open - Santiago Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 French Open (juniors) Miami Open - Miami Internazionali BNL d'Italia - Rome Miami Open - Miami Internazionali BNL d'Italia - Rome Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) Wimbledon (juniors) Australian Open - Melbourne Australian Open (juniors) Wimbledon (juniors) Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, World Group, Q, SUI-ESP 1-3 French Open (juniors) All Lower level tournaments Olympics - Rio de Janeiro